#include<iostream>
#include<unordered_map>
#include<algorithm>
using namespace std;

const int N=2e4+10;
struct node{
	int l;
	int r;
}arr[N];

int disc[N*2], f[N*2];
unordered_map<int, int> mp;

int main()
{
	int n; cin>>n;
	int cnt=0;
	for(int i=1; i<=n; i++)
	{
		cin>>arr[i].l>>arr[i].r;
		disc[++cnt]=arr[i].l;
		disc[++cnt]=arr[i].r;
	}
	
	sort(disc+1, disc+1+cnt);
	cnt=unique(disc+1, disc+1+cnt)-(disc+1);
	for(int i=1; i<=cnt; i++)
	{
		mp[disc[i]]=i;
	}
	
	for(int i=1; i<=n; i++)
	{
		f[mp[arr[i].l]]+=1;
		f[mp[arr[i].r]]-=1;
	}
	
	for(int i=1; i<=cnt; i++)
	{
		f[i]=f[i]+f[i-1];
	}
	
	long long ret=0;
	for(int i=1; i<=cnt; i++)
	{
		int j=i;
		while(j<=cnt&&f[j]>0) j++;
		ret+=(disc[j]-disc[i]); 
		i=j;
	}
	cout<<ret;
	return 0;
}






















































